Method of inhibiting functions of a mobile communications device

ABSTRACT

A method of inhibiting a function of a multi-function portable personal communications device includes determining a first position of the personal communications device, after a predetermined time interval, determining a second position of the personal communications device, determining the distance between the first position and the second position, determining the time interval in which the personal communications device moved from the first position and the second position, calculating an average velocity of the personal communications device based on the first position, the second position and the time interval and, if the average velocity of the personal communication device exceeds a predetermined value, inhibiting a function of the personal communications device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.12/506,045, filed Jul. 20, 2009, entitled METHOD OF INHIBITING FUNCTIONSOF A MOBILE COMMUNICATIONS DEVICE, now U.S. Pat. No. 8,380,176, issuedFeb. 19, 2013 (Atty. Dkt. No. BLSA-29139) which claims benefit of U.S.Provisional Application No. 61/087,506, filed Aug. 8, 2008, entitledMETHOD OF INHIBITING FUNCTIONS OF A MOBILE COMMUNICATIONS DEVICE (Atty.Dkt. No. BLSA-29075), the specifications of which are incorporatedherein in their entirety.

TECHNICAL FIELD

The following disclosure relates to inhibiting one or more functions ofa multi-function portable personal communications device, and inparticular to inhibiting one or more functions of a cellular telephonehandset when the handset is moved at an average velocity greater than apredetermined value.

BACKGROUND

In the United States, automobile accidents are the leading cause ofdeath for teenagers. For example, in 2005, 4,544 teenagers between theages of 16 to 19 died of injuries caused by motor vehicle crashes. Inthe same year, nearly 400,000 motor vehicle occupants in this age groupsustained nonfatal injuries that required treatment in an emergencydepartment.

A number of risk factors are associated with teenage drivers. Teenagedrivers are less experienced and less likely to recognize and appreciatehazardous conditions and are more likely to exceed speed limits. Teenagedrivers are also more likely to become distracted while driving. Onemajor cause of distraction is cellular telephone use and, in particular,text messaging while driving.

Text messaging has become a favorite mode of communication betweenteenagers. However, text messaging while driving a vehicle presents ahazard to the vehicle operator, passengers and other drivers. With thedevelopment of Multimedia Messaging Service (MMS) the temptation to usecellular messaging capability while operating a vehicle becomes greater.It has been estimated that up to fifty percent of teenage drivers haveformatted, sent and/or read text messages while operating a vehicle.

Several states have, or are considering, prohibiting text messagingwhile driving. However, enforcing laws prohibiting text messaging mayprove problematic since the cellular device may be held in a positionwhere it is not visible to law enforcement personnel. Further, a certainnumber of teenagers and other drivers may simply ignore the laws,especially if the penalty is nominal. Thus, there exists a need for amethod of detecting and inhibiting the use of certain functions ofcellular devices such as Short Message Service (SMS), Multi-mediaMessage Service (MMS) and email while the operator of the device is alsooperating a vehicle.

The use of cellular phones by children and teenagers may be problematicin other situations and in particular in school environments. Forexample, there have been reports of students using SMS service duringclass and more seriously, during tests to transmit answers to eachother. It has also been reported that SMS service has been used toarrange illegal drug transactions and that child predators have used SMSservice in attempts to contact potential victims. Therefore there alsoexists a need to inhibit the use of various functions of cellulartelephones in school and similar environments.

SUMMARY

In one aspect, a method of inhibiting a function of a multi-functionportable personal communications device is disclosed. The methodincludes determining a first position of the personal communicationsdevice then, after a predetermined time interval, determining a secondposition of the personal communications device. The distance between thefirst and second positions is determined along with the time interval inwhich the personal communications device moved from the first positionto the second position. An average velocity of the personalcommunications device based on the first position, the second positionand the time interval is calculated. If the average velocity of thepersonal communication device exceeds a predetermined value, one or morefunctions of the personal communications device may be disabled, blockedor otherwise inhibited.

In one embodiment, the personal communications device may be a cellulartelephone handset including a global position receiver for determiningthe first and second position of the handset. The blocked or inhibitedfunction may be one or more textual message services such as ShortMessage Service (SMS), Multimedia Messaging Service (MMS), MobileInstant Messaging Service (MIMS), email and Internet access. In othervariations, voice calls to or from the cellular telephone handset may beblocked. In other variations, the cellular telephone handset may beprogrammed to transmit a message to a remote communications device, themessage indicating the average velocity of the portable personalcommunications device has exceeded the predetermined value.

In another aspect, a method of inhibiting a function of a multi-functionportable personal communications device includes determining a firstposition of the portable personal communications device and after apredetermined time interval determining a second position of theportable personal communications device. The first and second first andsecond positions of the portable personal communications device aretransmitted to a remotely located computer which calculates an averagevelocity of the multi-function portable personal communications device.The portable communications device may then receive a signal from theremotely located computer, the signal indicating that one or morefunctions of the personal communications device is to be inhibited. Oneor more selected functions of the portable personal communicationsdevice may then be disabled, blocked or inhibited based on the signalreceived from the remotely located computer.

In one embodiment, the remotely located computer calculates an averagevelocity of the multi-function portable personal communications devicebased on the first and second positions of the multi-function portablepersonal communications device and the time interval in which theportable personal communications device moved from the first position tothe second position. The remotely located computer compares the averagevelocity to a predetermined value, and if the average velocity isgreater than the predetermined value, the remotely located computertransmits a signal instruction the portable communications device todisable, block or inhibit one or more functions of the device. Thepersonal communications device may be a cellular telephone handsetincluding a global position receiver for determining the first andsecond position of the handset and the inhibited function(s) may be anon-voice function such as a textual message service or a multimediamessage service.

In another aspect, a method of monitoring a multi-function portablepersonal communications device including a GPS receiver includesreceiving signals to determine the location of the multi-functionportable personal communications device at predetermined intervals. Thelocation of the multifunction portable personal communications device iscompared to one or more predetermined locations and the distance betweenthe predetermined location and the device is determined. The distancebetween the multi-function portable personal communications device andthe predetermined location is compared to a predetermined distancevalue. If the distance between the multi-function portable personalcommunications device and the predetermined location is less than thepredetermined distance value a pre-programmed instruction to inhibit afunction of the portable personal communications device is implemented.In one variation, the method includes comparing the current date andtime to a preprogrammed or predetermined date and time interval andimplementing a pre-programmed instruction to inhibit or enable apreviously blocked function of the portable personal communicationsdevice if the current time is within the predetermined time interval.

In yet another embodiment, a method of controlling a function of amulti-function portable personal communications device including a GPSreceiver includes receiving signals at predetermined intervals todetermine the location of the multi-function portable personalcommunications device. The location of the multifunction portablepersonal communications device is compared to one or more predeterminedlocations that define a geographical zone to determine whether thedevice is within the geographical zone. If the multi-function portablepersonal communications device is within the defined geographical zone apre-programmed instruction to inhibit a function of the portablepersonal communications device is implemented.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding, reference is now made to thefollowing description taken in conjunction with the accompanyingDrawings in which:

FIG. 1 is a schematic illustrating a cellular communications systemwherein methods according to the disclosure may be implemented;

FIG. 2 is a flow chart illustrating a first method according to thedisclosure;

FIG. 3 is a flow chart illustrating a second method according to thedisclosure;

FIG. 4 is a flow chart illustrating a third method according to thedisclosure;

FIG. 5 is a flow chart illustrating a fourth method according to thedisclosure;

FIG. 6 is a flow chart illustrating a fifth method according to thedisclosure;

FIG. 7 is a flow chart illustrating a sixth method according to thedisclosure;

FIG. 8 is a flow chart illustrating a seventh method according to thedisclosure;

FIG. 9 is a flow chart illustrating an eighth method according to thedisclosure;

FIG. 10 is a flow chart illustrating a ninth method according to thedisclosure;

FIG. 11 is a schematic representation further illustrating the method ofFIG. 10.

FIG. 12 is a flow chart illustrating a tenth method according to thedisclosure;

FIG. 13 is a flow chart illustrating an eleventh method according to thedisclosure; and

FIG. 14 is a flow chart illustrating a twelfth method according to thedisclosure.

DETAILED DESCRIPTION

Referring now to the drawings, wherein like reference numbers are usedherein to designate like elements throughout, the various views andembodiments are illustrated and described, and other possibleembodiments are described. The figures are not necessarily drawn toscale, and in some instances the drawings have been exaggerated and/orsimplified in places for illustrative purposes only. One of ordinaryskill in the art will appreciate the many possible applications andvariations based on the following examples of possible embodiments.

Referring now to FIG. 1, a multi-function personal communications devicesuch as a cellular handset 100 includes a display 102 for displaying,among other things, information received in the form of text messages,multi-media messages and email. Handset 100 includes a data entryfeature such as a plurality of keys 108, a touch screen and/or a voicerecognition feature (not shown). Handset 100 further includes a GPSmodule 106 for receiving and processing signals from a plurality ofglobal positioning satellites 110 a, 110 b and 110 c. In one embodiment,GPS module 106 is provided with hardware and/or software for calculatingthe position of the handset based on the signals received from GPSsatellites 110. The signals from global positioning satellites 110provide a means of determining the position of handset 100. Typically,GPS module 106 requires signals from at least three GPS satellites110A-110C in order to determine the position of handset 100. In otherembodiments, GPS module 106 receives signals from four or more GPSsatellites in order to determine the position of handset 100. In yetother embodiments, GPS module 106 comprises an Assisted GPS receiver(A-GPS) that communicates with an assistance server.

Handset 100 may also includes a processor 116 with an associated memory118. Processor 116 may communicate with GPS module 106 to record andstore the location of handset 100 in memory 118 at predeterminedintervals along with the time(s) the handset is at the location(s). Whenhandset 100 is moved a distance d, processor 116 may receive and storecoordinates for locations L2 and L2 from GPS module 106 and store thatlocation along with the times that the handset is at locations L1 andL2. Using preprogrammed logic, processor 116 is thereby able tocalculate a relative average velocity for handset 100 as it travelsdistance d by dividing the distance by the difference between T1 whenthe handset it at location L1 and T2 when the handset is at location L2.For example, if the time interval, e.g. the difference between T1 and T2is five minutes and the distance between L1 and L2 is five miles, thecalculated average velocity of the handset will be sixty miles per hour.In other variations, GPS module 106 may be preprogrammed to calculatethe average velocity of handset 100 as it travels over distance d. Inalternate embodiments, handset 100 may be programmed to periodicallytransmit coordinates to a remote server 112 which may be pre-programmedto calculate the average velocity of the handset and/or to transmit thevelocity of the handset to server 112.

Handset 100 transmits and receives voice and data communications via aradio interface 120 with a cellular network 122. A cellular telephoneprovider 124 and internet service provider 126 link handset 100 to theinternet 128 which in turn provides communications with remote userdevices 114 and a server 112. Remote user device 114 may be a personalcomputer, another cellular telephone handset or a similar device. Server112 may be maintained by a third party service provider 130 and includesa database 132. In one embodiment, database 132 may include maps,preprogrammed instructions for controlling functions of handset 100along with individual customer records and preferences.

In one embodiment, handset 100 may be preprogrammed to require apassword or PIN to change the settings of the handset. For example,handset 100 may be preprogrammed to require that a user enter a passwordor PIN to enable or disable functions such as voice communications, textmessaging, multi-media messaging and email. The password or PIN may bestored in a customer record on database 132 so that server 112 mayremotely control functions of handset 100 in response to location orother signals received from the handset. A nominated person, such as aparent or guardian, may use the password or PIN to remotely controlfunctions of handset 100 such as enabling or disabling functions andsettings of handset 100 or to change preferences or user informationstored on database 132 with a user device 114 such as a personalcomputer. For example, a nominated person may open an internetconnection with a user device 114 and access server 112 via a website.The nominated person may then enter his or her password or PIN to gainaccess to his or her account, after which the nominated person mayinstruct server 112 to transmit a message to handset 100 to enable ordisable a function or setting of the handset. Database 132 may alsoinclude preprogrammed instructions to enable or inhibit functions orsettings of handset 100 in response to signals received from handset 100by server 112.

FIG. 2 is a flowchart illustrating, in one embodiment, a methodaccording to the disclosure. The process is initiated at step 200 whenthe user of handset 100 initiates or receives a textual message. Theprocess may also be initiated when the user of handset 100 turns thehandset on or selects a textual messaging function. The textual messagemay be a text message (SMS), a multi-media message (MMS), email,internet connection or other non-voice communication requiring the userof the handset to either enter data via data input device 108 or view amessage via display 102. At step 202 a timer or timing function isinitialized and started. The timer or timing function may be set for apredetermined time interval such as 1, 3, 5 or 10 minutes. At step 206,the position (latitude, longitude) of handset 100 is obtained using GPSmodule 106.

In one embodiment, the date and time along with the position of thehandset are logged or stored in memory 118 of handset 100 at step 208.At step 210 a check is made to determine whether a previous position andtime have been logged. If a prior position and time have not beenlogged, the process returns to step 204 to determine whether thepredetermined time interval has elapsed. If so, a second location ofhandset 100 is determined at step 206 and the second location and timeare logged at step 208. In some instances, for example when handset 100is in a location such as a tunnel where signals from the globalpositioning satellites are blocked, GPS module 106 may not be able todetermine the coordinates of the handset. In these instances, attemptsto determine the location of handset 100 will continue at thepredetermined time intervals until two or more successive positions andtimes have been logged.

After two successive locations and times have been logged, the first andsecond logged times are compared at step 212 and a time difference orinterval is determined at step 214. At step 216 the first and secondpositions of handset 100 corresponding to the first and second times arecompared and the distance between the first and second locations isdetermined at step 218. The distance that the handset has moved isdivided by the time interval in which handset 100 moved from the firstposition to the second position to determine a relative average velocityfor the handset at step 220.

In some embodiments, the GPS module or chip 106 is preprogrammed toperform the speed calculation to determine a relative average velocityat predetermined intervals, for example at one second intervals. Inthese embodiments, a separate processor and/or memory to perform thevelocity calculation may not be required and the process of FIG. 2 goesimmediately to step 222 after the relative average velocity is obtainedfrom GPS module or chip 106.

At step 222, the relative average velocity of the handset is compared toa predetermined velocity value, for example 10 or 20 miles per hour, todetermine whether the handset may be in a moving vehicle. If therelative average velocity of handset 100 exceeds or has exceeded thepredetermined velocity value, a set action is taken at step 224. Thepredetermined set action may include transmitting a textual message,email or telephone call to a nominated person such as a parent orguardian, and/or disabling or inhibiting one or more of the functions ofhandset 100. In one embodiment, the nominated person may respond with amessage instructing handset 100 to implement a preprogrammed instructionto disable or block one or more functions of the handset. If the setaction is inhibiting one or more functions of handset 100, the functionmay be inhibited for a predetermined time interval, for example 5, 15 or30 minutes. Alternatively, the function may remain inhibited until anominated person re-enables the function. Handset 100 may bepreprogrammed to require entry of a password or PIN before the inhibitedfunction is re-enabled. The method illustrated in FIG. 2 may beaccomplished with preprogrammed logic that may be stored in memory 118of handset 100 and implemented with processor 116.

Referring now to FIG. 3, in one embodiment, a method according to thedisclosure is triggered at step 300 when the user of a portablecommunications device such as cellular handset 100 initiates a non-voicemessaging function such as an SMS or MMS function and/or transmits orreceives such a message. At step 302 a timer is initialized and started.The timer may be set for a predetermined period such as 1, 3, 5 or 10minutes. At step 306 the position of the handset is determined via GPSmodule 106. The location (latitude, longitude) of handset 100 and thetime are logged at step 308. At step 310, the log is checked todetermine whether the location and time are the first or a subsequentlog entry. If the log entry is not the first entry, at step 312 the timeof the entry is compared to the previous time entry. The time differenceis determined at step 314. At step 316, the location of handset 100 iscompared to the previously logged location of the handset and at step318 the distance between the two locations is determined. At step 320the distance is divided by the difference in the logged times todetermine a relative average velocity of the handset during thepredetermined time interval. For example, if handset 100 has moved fivemiles in ten minutes, the calculated average velocity will be thirtymiles per hour.

The relative average velocity of the handset during the predeterminedtime interval is compared to a predetermined velocity such as 10 or 20kilometers or miles per hour at step 322. If the relative averagevelocity of handset 100 is greater than the predetermined value, at step324 an alert is transmitted directly to a nominated person such as aparent or guardian. The alert may be transmitted via any formatsupported by handset 100 such as email, text message, a phone call, MMSor an audio or video call. The alert may be directed to a user device114 such as a personal computer via cellular network 122 and internetservice provider 126 or to another cellular handset via the cellularnetwork. In this embodiment all of the functions and functionalitiesemployed in the method may be programmed and/or hard wired into handset100.

Referring now to FIG. 4, in one method according to the disclosure whenthe user of a personal communications device such as handset 100initiates a non-voice messaging function such as email, SMS or MMS ortransmits such a message, the attempt or transmission is detected atstep 400. Steps 402 through 422 are generally the same as steps 200through 222 described above in connection with FIG. 2. In thisvariation, if the relative average velocity of handset 100 is greaterthan the predetermined value, at step 424 handset 100 opens an internetconnection with server 112 (FIG. 1) via the cellular network 112 and/orinternet service provider 126.

Referring still to FIG. 4, at step 426, server 112 transmits an alertmessage to a user device 114 based on user settings that may bedetermined by a nominated person and stored on database 132 (FIG. 1).For example, the nominated person may have chosen 10 or 15 miles perhour as a threshold velocity to trigger an alert. The user device may bea personal computer, a cellular phone or another communications device.The purpose of the alert message is to inform a nominated person such asa parent or guardian that a user of handset 100 is using, attempting touse, or receiving non-voice communications such as SMS or MMS whilemoving at a velocity indicating that the handset is in a moving vehicle.The nominated person receiving the alert may then take appropriateaction such as contacting the user of handset 100. In one embodiment,the nominated person may respond with a message instructing server 112to transmit a message to handset 100 to implement a preprogrammedinstruction to disable or block one or more functions of the handset.Alternatively, the nominated person may transmit a message directly tohandset 100 instructing the handset to implement a preprogrammedinstruction to disable or block one or more functions of the handset. Inthis variation, handset 100 is pre-programmed to calculate the averagevelocity and transmit the velocity to server 112. Server 112 may beconfigured solely to transmit the message(s) to and from the nominatedperson.

FIG. 5 is a flowchart illustrating another embodiment of a methodaccording to the disclosure. In accordance with this embodiment, themethod is initiated at step 500 when the user of handset 100 invokes anon-voice messaging function or attempts to transmit a non-voicecommunication such as email or an SMS or MMS message. The method mayalso be initiated at step 500 when the user of handset 100 receivesand/or attempts to view a non-voice message such as an SMS or MMSmessage. At step 502 a timer or timing function is initialized andstarted. The location of handset 100 is determined at step 506 and aninternet connection is established with server 112 at step 508. Handset100 transmits the coordinates of handset 100 to server 112. Handset 100may also transmit the time at which the coordinates was determined. Thelocation and time are logged onto database 132 at step 510 and server112 checks the log to determine whether the logged value coordinates andtimes are the first or a subsequent set of values at step 512. If thelogged values are a first set of values for the location and time, thetimer is checked at step 504 to determine whether the predeterminedinterval has elapsed. If the interval has elapsed, a second set ofcoordinates for the location of the handset are determined at step 506and transmitted to server 112. Server 112 may be programmed to queryhandset 100 at predetermined intervals to obtain coordinates and times.Alternatively, handset 100 may be programmed to transmit velocity and/orcoordinates and times at pre-programmed intervals.

In steps 514 through 522 the relative average velocity of the handsetduring the predetermined interval are calculated as previouslydescribed. As used herein, ‘relative average velocity” is calculated asthe distance between coordinates at which handset 100 at first andsecond times located divided by the interval between the first andsecond times. The calculations are performed on server 112 usingcoordinates and times stored on database 132. At step 524 the relativeaverage velocity of the handset is compared to a pre-programmed valuestored on database 132. If the relative average velocity of the handsetis in excess of the pre-programmed value, indicating that the user ofthe handset may be operating a vehicle, the server 112 transmits apre-programmed alert message to a user device 114. Alternatively, if therelative average velocity of the handset is less than the pre-programmedvalue, the internet connection is closed at step 528 until the method istriggered again when the predetermined time elapses at step 504. In thisvariation, the calculations to determine the relative average velocityof the handset are performed on server 112 which is programmed totransmit the alert message if the calculated value exceeds thepredetermined value.

In different embodiments, the average velocity calculation may beperformed by the GPS module in handset 100 at predetermined intervals,for example at one, three, five second intervals. In these embodiments,it may not be necessary to perform the velocity calculation with server112. In these embodiments, the preprogrammed alert message may betransmitted when server 112 receives a transmission from handset 100indicating that handset is traveling at an average velocity greater thanthe preprogrammed value.

Referring now to FIG. 6, in another embodiment, a method according tothe disclosure is initiated at step 600 when the user of handset 100turns the handset on. In this variation, the location of handset 100 isdetermined at periodic predetermined intervals to determine the relativeaverage velocity of the handset. At step 602 a timer or timing functionis initialized and started. The timer may be set for a predeterminedinterval such as 3, 5 or 10 minutes. Steps 604 through steps 620 aresubstantially the same or identical to steps 202 through 220 of FIG. 2.At step 622 the relative average velocity of handset 100 is compared toa predetermined velocity value that has been pre-programmed into handset100. If the relative average velocity of handset 100 is greater than thepredetermined value, one or more functionalities of the cell phone maybe blocked at step 626. The blocked functionalities may include voicecommunication, text messaging (SMS), multi-media messaging (MMS), email,internet access, and/or video or image transmission.

If the relative average velocity of handset 100 is less than thepredetermined value, at step 624 it is determined whether a messagingfunction has previously been blocked. If a messaging function isblocked, at step 628 the function is unblocked. In this variation, allof the functions and functionalities employed in the method areprogrammed into, or hardwired, into handset 100.

FIG. 7 is a flow chart illustrating another method according to thedisclosure. At step 700 the process is initiated when the user ofhandset 100 turns the handset on. At step 702 a timer is initialized andstarted. The timer may be set for a predetermined time interval such as3, 5 or 10 minutes. After the timer or timing functions times out atstep 704, at step 706 the position of handset 100 is determined usingGPS module 106. Handset 100 opens an internet connection at step 708 andcommunicates with a remote computer such as server 112 (FIG. 1). Handset100 transmits the position of handset and optionally the time at whichthe position of the handset was determined to server 112. The timer ortiming function may be resident on handset 100 or on server 112. If thetimer is resident on server 112, the server transmits a location inquiryto handset 100 at predetermined periodic intervals. When handset 100receives the inquiry, it responds with its location as determined withGPS module 106 (FIG. 1).

Server 112 logs the coordinates of handset 100 in database 132 at step710 and checks the log at step 712 to determine whether priorcoordinates and a corresponding time have been stored. If not, a secondset of coordinates and corresponding time are obtained when thepredetermined time interval elapses at step 704. If prior coordinatesand a corresponding time have been stored, at step 714, server 112compares the most recently logged position of handset 100 with theprevious entry. The server calculates the difference in time between thesuccessive entries at step 716 and compares the positions of the handsetat step 718. At step 720, server 112 calculates the distance between thelogged locations of the handset and then at step 722 divides thecalculated distance by the calculated time difference between the loggedentries to determine a relative average velocity for the handset.

At step 724 the server compares the calculated average relative velocitywith a predetermined velocity value such as 10 or 20 kilometers or milesper hour. If the calculated average relative velocity of the handset isgreater than the predetermined value, indicating that the handset is ina moving vehicle, server 112 may transmit a message to handset 100 toblock or disable one or more functions of the handset at step 728. Themessage may, for example, include an instruction to change a setting ofthe handset to inhibit an associated function. The disabled or blockedfunction may be text messaging (SMS), multi-media messaging (MMS),email, internet access or another non-voice function of the handset. Inother variations, voice communications may also be blocked.

After server 112 has transmitted the message to handset 100 to block ordisable one or more functions of handset 100 at step 728, the internetconnection between server 112 and handset 100 is closed at step 732.Alternatively, if the relative average velocity of handset 100 is lessthan the predetermined value, indicating that the handset is not in amoving vehicle, a check is made to determine whether one or more of thehandset functions has been previously blocked at step 726. If one ormore functions of the handset have been blocked, the function isunblocked at step 730 and the internet connection is closed at step 732.

In the embodiment illustrated in FIG. 7, handset 100 detects andtransmits its coordinates at predetermined intervals. The calculation ofthe relative average velocity of the handset and the determination ofwhether to block or unblock any functions of the handset is done withserver 112. Server 112 uses pre-programmed logic to determine therelative average velocity of the handset using two or more loggedlocations and times and makes the determination as to whether one ormore functions of handset 100 may be blocked or unblocked. After makinga determination to inhibit or enable a function of handset 100, theserver transmits a message to the handset to implement a preprogrammedinstruction to inhibit or enable the function.

Although as described, two consecutive locations of handset 100 are usedto determine a relative average velocity of the handset, multiple loggedlocations and time entries may be used for the calculations. Thus, forexample, 3, 4 or 5 logged location and time entries may be utilized todetermine the relative average velocity of handset 100. In oneembodiment, a nominated person such as a parent or guardian, maycommunicate with server 112 and/or handset 100 via a personalcommunications device 114 (FIG. 1) to override or change settings suchas the predetermined velocity value, the intervals at which the positionof the handset is determined and whether functions of the handset shouldor should not be inhibited or disabled. For example, if the user of thehandset is traveling on a bus or a train, the nominated person may wishto prevent blocking or inhibiting functions of the handset. Thenominated person may be required to use a password, PIN or othersecurity measure to access and change setting of handset 100.

FIG. 8 is a flowchart of a further embodiment of a method according tothe disclosure wherein incoming voice and/or non-voice messages may beblocked and/or unblocked. The method is initiated at a step 800 whenhandset 100 detects an incoming call. At step 802 a settings file ischecked to determine whether one or more functions of handset 100 havepreviously been blocked or disabled. If it is determined at step 804that one or more functions of handset 100 have previously been disabled,for example SMS or MMS, then at step 806 the transmission received byhandset 100 is identified as a voice call or a non-voice communication.If the transmission is a voice call, at step 808, handset 100 mayterminate and disconnect the call. If the transmission is a non-voicecommunication such as SMS, MMS or email, the message is copied at step810. The copied message may be transmitted to server 112 via thecellular network and/or internet. The non-voice communication is thendeleted from handset 100 at step 812.

FIG. 9 is a flow chart illustrating the retrieval of stored messages ifit is determined that the one or more functions of handset 100 are nolonger blocked. Referring again to FIG. 7, if a determination is made atstep 730 to unblock one or more functions of handset 100, then at step900 of FIG. 9 the process of retrieving stored messages is initiated. Ifit is determined that textual messages have been stored and held (step902) then at step 904 handset 100 may emit or display an alert. In onevariation, the alert may be an audible tone emitted by the handset. Inother variations an alert message may be displayed on display 108 ofhandset 100. At step 906, the held messages may be transmitted and/orcopied back to handset 100, released and/or displayed by the handset.

FIG. 10 is a flowchart illustrating another embodiment of a methodaccording to the disclosure. FIG. 11 is a schematic representationfurther illustrating the method. At step 1000, the process is initiatedwhen handset 100 is activated. At step 1002 a timer or timing functionis initialized. The timer or timing function may be set a predeterminedinterval, for example 15 or 30 minutes. The timer or timing function ischecked at step 1003. If the predetermined time has elapsed, at steps1004 and 1006, the current date and time are checked to determinewhether the current date is a school day and that the current time iswithin school hours, for example from 7:00 am to 3:00 pm. If the currentdate is a school day and the current time is within school hours, thelocation (latitude, longitude) of handset 100 is determined at step 1008with GPS module 106 (FIG. 1). The location of the school 1100, (e.g.latitude, longitude) is retrieved from memory at step 1010 and thedistance D1 (FIG. 11) between the handset and school is calculated atstep 1012.

At step 1014, the calculated distance between school 1100 and handset100 (D1) is compared to a predetermined value, D2 for example 0.1, 0.5or 1.0 miles. Distance D2 may be selected based on the geographicalexpanse of school 1100. As illustrated in FIG. 11, D2 defines ageographic zone 1102 around the coordinates selected for school 1100. Ifthe calculated distance D1 is less than the predetermined value D2,indicating that the handset is within geographic zone 1102, a first setaction 1016 may be taken. The first set action 1016 may be disabling oneor more functions of handset 100, for example blocking the user frominitiating calls and/or blocking non-voice messaging functions such asan SMS or MMS. In one variation, handset 100 may receive calls but beblocked from initiating calls. In other embodiments, the set action maybe locking the data entry feature 108 (FIG. 1) of handset 100, disablingthe display 102 or turning the handset off for a predetermined period oftime. Alternatively, if the distance between handset 100 and school 1100is greater than predetermined value D2, indicating for example, that theuser of the handset is not at school, a second set action 1018 may betaken.

The second set action may include transmitting an alert in the form of atextual message, voice message, email or telephone call to a nominatedperson such as a parent or guardian, indicating that the handset (andthe user of the handset) is not at, or within a specified distance ofthe school. The second set action may include transmitting thecoordinates of handset 100 to the nominated person. After the first orsecond set actions, the timer or timing function is re-initialized andthe process repeated. In this variation, all of the functions andfunctionalities employed in the method may be programmed into, orhardwired, into handset 100.

While the method of FIG. 10 has been presented in the context of aschool or school zone, the same or a similar method may be employed inother situations. For example, if a child or teenager is supposed to beat a given location for a specified period of time, a nominated personmay wish to monitor the position of a handset in the possession of thechild or teenager. For example, if a child is at a friend's house or ata movie, a parent or guardian may wish to have the position of acellular telephone in the child's possession monitored at predeterminedintervals.

Referring now to FIG. 12, in one method according to the disclosure, theprocess is initiated at step 1200 when the nominated person opens aninternet connection with a user device such as personal computer 114(FIG. 1). The nominated person opens a connection to server 112 andtransmits the location, typically an address, to server 112 at step1202. The nominated person may also transmit the time interval the childis to be at the location and a specified permitted distance from thelocation to server 112 via the internet using a user device 114. Thespecified permitted distance is a distance from the location that thehandset may be located without triggering a set action such as an alert.

At step 1204 server 112 receives the address and may determine thelatitude and longitude of the address using a mapping function and/ordatabase. Server 112 stores the latitude and longitude of the address,the specified times and the specified permitted distance at step 1206.At step 1208, server 112 opens a call to handset 100 and queries thehandset for its current position (latitude, longitude) at step 1210. Theposition of handset 100 is determined using GPS module 106 andtransmitted to server 112. At step 1212, server 112 receives the currentcoordinates of handset 100 and calculates the distance between thehandset and the location specified by the nominated person at step 1214.

At step 1216, server 112 compares the distance between handset 100 andthe specified distance to the specified permitted distance. If thedistance between handset 100 and the stored coordinates is greater thanthe specified permitted distance, one or more set action(s) are taken atstep 1218. The set actions may include transmitting an alert to thenominated person, alerting them that the handset is not at, or withinthe predetermined distance from, the specified location during thespecified time interval. The set actions may also include transmittingthe current coordinates of handset 100 to the nominated person, openinga call from handset 100 to the nominated person and/or inhibiting ordisabling one or more functions of the handset, for example disablingnon-voice communications such as text messaging. If the distance betweenthe current coordinates of handset 100 and the stored coordinates isless than the specified permitted distance, the connection betweenserver 112 and handset 100 is terminated at step 1220 and a timer ortiming function is initialized or re-initialized at step 1222. The timeror timing function is set to a predetermined interval, for example 10 or15 minutes, after which server 112 will open another call to handset100.

At step 1224, server 112 checks the current time and compares it to thespecified time interval at step 1226. If the current time is after thespecified time interval, the program is terminated at step 1228. If not,the timer is checked at step 1230 and if the timer has elapsed, theserver opens another call to handset 100 at step 1208 and the process isrepeated. If the timer has not elapsed, the program loops back to checkthe current time.

In yet another variation, a method according to the disclosure may blockor disable voice calling functions of a portable personal communicationsdevice such as handset 100 if the device is moving at a rate indicatingthat the handset is in a vehicle and if the device is not in a handsfree mode. Referring now to FIG. 13, process is initiated at step 1300when handset 100 is activated. At step 1302 a timer or timing functionis initialized and started. The timer or timing function may be set fora predetermined time interval such as 15, 30 seconds or longer.

At step 1304 the timer is checked and if the predetermined time haselapsed, a check is made to determine whether the handset is set toreceive a voice call at step 1306. If handset 100 (FIG. 1) is set toreceive voice calls, at step 1306, the position (latitude, longitude) ofhandset 100 is obtained using GPS module 106 at step 1308. The date andtime along with the coordinates of the handset are logged or stored inmemory 118 of handset 100 at step 1310. At step 1312 a check is made todetermine whether a previous position and time have been logged.

If a prior position and time have not been logged, the process returnsto step 1304 to determine whether the predetermined time interval haselapsed. If so, a second location of handset 100 is determined at step1308 and the second location and time are stored in memory 118 ofhandset 100. After two successive locations and times have been stored,the successive stored times are compared at step 1314 and a timedifference between the two stored locations and times is calculated atstep 1316. At step 1318 the first and second stored coordinates ofhandset 100 corresponding to the first and second stored times arecompared and the distance between the first and second coordinates isdetermined at step 1320. The distance between the successive coordinatesis divided by the difference in the times at which the handset waslocated at the two locations to determine a relative average velocityfor the handset at step 1322.

At step 1322, the relative average velocity of the handset is comparedto a predetermined velocity value X, for example 10 or 20 miles perhour, to determine whether the handset may be in a moving vehicle. Ifthe relative average velocity of handset 100 exceeds or has exceeded X,the predetermined velocity value, a check is made to determine ifhandset 100 is in a hands free mode at step 1326. If the handset is notin a hands free mode, any voice call is terminated at step 1328 and apredetermined set action may be taken at step 1330. The predeterminedset action may include blocking one or more of the functions of handset100. The blocked functions may remain disabled for a predeterminedperiod of time, or example 5, 10 or 20 minutes or may remain blockeduntil the nominated person re-enables the functions. The predeterminedset action may also include transmitting a textual message, email ortelephone call to a nominated person such as a parent or guardian. Inone variation, the nominated person may respond with a message disablingor blocking one or more functions of the handset.

Turning now to FIG. 14, yet another method according to the invention isdisclosed. The method is initiated at step 1400 when a nominated personopens a connection to server 112. At step 1402, the nominated persontransmits a series of time intervals and corresponding locations, e.g.addresses or coordinates, to server 112 indicating where the individualin possession of handset 100 should be located during the correspondingtime intervals. The nominated person may also enter dates and aspecified permitted distance from each of the locations. Alternatively,sever 112 may use a preprogrammed default value, for example 200 meters.In the case of a child, the first entry may be the address of thechild's school, a time interval corresponding to school hours, e.g. from7:00 am to 3:00 pm and a permitted distance of 300 meters. A secondentry may be the location where the child is to be for a period afterschool hours, for example the library, a friend's house or otherlocation, a corresponding time interval, for example from 4:00 pm to6:00 pm and a permitted distance, for example 100 meters. A third entrymay be the child's home address, another corresponding time interval,for example from 6:30 pm to 6:30 am and a permitted distance of 50meters.

If the nominated person entered addresses rather than coordinates, atstep 1404, server 112, determines the coordinates of each of thespecified locations. The specified dates, coordinates, time intervalsand permitted distances are stored in database 132 at step 1406. At step1408, server 112 opens a call to handset 100 and queries the handset forits coordinates. The coordinates of handset 100 are determined with GPSmodule 106 and transmitted to server 112. At step 1410, server 112receives the current coordinates of handset 100 and checks the currenttime at step 1412. Server 112 retrieves the coordinates of the locationspecified by the nominating person for that time at step 1414. At step1416 the current coordinates of handset 100 are compared to thespecified coordinates and the distance between the two sets ofcoordinates is determined.

At step 1418 the calculated distance is compared to the permitteddistance for specified time interval and coordinates. If the calculateddistance is greater than the specified permitted distance, a set actionmay be taken at step 1420. The set actions may include inhibiting orenabling a function of handset 100. Set actions may include transmittingan alert to the nominated person, alerting them that the handset is notat, or within the predetermined distance from, the specified locationduring the specified time interval. The set actions may also includetransmitting the current coordinates of handset 100 to the nominatedperson, opening a call from handset 100 to the nominated person and/orinhibiting or disabling one or more functions of the handset, forexample disabling non-voice communications such as text messaging. Inone variation, if the calculated distance is less than the permitteddistance, other set actions may be taken. For example, during schoolhours when handset is located at the child's school, one or morefunctions of the handset, such as text or multimedia messaging may bedisabled. If the current time is after school hours and/or if thecalculated distance is greater than the permitted distance, theinhibited function may be enabled if previously blocked or disabled.

If the calculated distance is less than the permitted distance or afterany set actions have been taken, the call from server 112 to handset 100is closed at step 1422 and a timer or timing function initialized orre-initialized at step 1424. The timer or timing function may be set toa predetermined time period, for example 5, 10 or 15 minutes or longer.After the predetermined time has lapsed at step 1426, server 112initiates another call to handset 100 at step 1408 and the process isrepeated.

Referring again to FIG. 1, as will be appreciated, methods according tothe disclosure may be implemented using hardware and/or softwareresident on a multi-function portable communications device such ascellular handset 100. Alternatively, methods according to the disclosuremay be implemented with a combination of hardware and software onhandset 100 and hardware and software on a remote computer such asserver 112. In yet other embodiments, methods according to thedisclosure may be implemented with a combination of hardware andsoftware on handset 100 along with hardware and software resident on auser device 114 such as a personal computer.

It will be appreciated by those skilled in the art having the benefit ofthis disclosure that this disclosure provides a method of inhibitingfunctions of a mobile communications device. It should be understoodthat the drawings and detailed description herein are to be regarded inan illustrative rather than a restrictive manner, and are not intendedto be limiting to the particular forms and examples disclosed. On thecontrary, included are any further modifications, changes,rearrangements, substitutions, alternatives, design choices, andembodiments apparent to those of ordinary skill in the art, withoutdeparting from the spirit and scope hereof, as defined by the followingclaims. Thus, it is intended that the following claims be interpreted toembrace all such further modifications, changes, rearrangements,substitutions, alternatives, design choices, and embodiments.

What is claimed is:
 1. A method of inhibiting a function of amulti-function portable personal communications device comprising:determining an average velocity of the portable personal communicationsdevice; determining when a determined first position of the portablepersonal communication device is within a predetermined distance of atarget location; and when the first position is within a predetermineddistance of the target location and within a defined time window andwhen the average velocity of the personal communication device exceeds apredetermined value, inhibiting a function of the portable personalcommunications device.
 2. The method of claim 1 wherein the step ofdetermining the average velocity comprises the steps of: determining afirst position of the portable personal communications device; after apredetermined time interval, determining a second position of theportable personal communications device; determining the distancebetween the first position and the second position; determining the timeinterval in which the portable personal communications device moved fromthe first position and the second position; calculating an averagevelocity of the portable personal communications device based on thefirst position, the second position and the time interval;
 3. The methodof claim 2 wherein the portable personal communications device comprisesa cellular telephone handset including a global position receiver fordetermining the first and second position of the cellular handset andwherein the inhibited function is one or more textual message services.4. The method of claim 3 wherein the textual message service include oneor more of a Short Message Service (SMS), Multimedia Messaging Service(MMS), Mobile Instant Messaging Service (MIMS), email and Internetaccess.
 5. The method of claim 3 wherein the step of inhibiting includesblocking calls made to the cellular telephone handset.
 6. The method ofclaim 3 wherein the step of inhibiting includes blocking calls made fromthe cellular telephone handset.
 7. The method of claim 1 furthercomprising transmitting a message to a remote communications device, themessage indicating the average velocity of the portable personalcommunications device has exceeded the predetermined value and is withina predetermined distance of the target location and within the definedtime window.
 8. The method of claim 2 wherein the multi-functionportable personal communications device includes a global positioningreceiver and wherein the step of determining the first and secondpositions of the device comprises receiving signals from a plurality ofglobal positioning system satellites.
 9. The method of claim 2 whereinthe step of determining an average velocity comprises determining thedistance between the first and second positions and dividing thedistance by the time interval in which the portable personalcommunications device moved from the first position to the secondposition.